//
//  HLIMKitSessionDataProvider.h
//  YueYue
//
//  Created by hulu001 on 2024/1/11.
//

#import <Foundation/Foundation.h>

#ifndef HLIMKitSessionDataProvider_h
#define HLIMKitSessionDataProvider_h

@class HLIMKitMessageModel;
@class NIMMessage;
@class NIMSession;

/**
 *  返回消息结果集的回调
 *  @param messages 消息结果集
 *  @discussion 消息结果需要排序，内部按消息结果已经事先排序处理。
 */
typedef void (^HLIMKitDataProvideHandler)(NSError *error, NSArray<NIMMessage *> *messages);

/// 消息（数据）提供器
@protocol HLIMKitSessionDataProvider <NSObject>

- (void)pullDown:(nullable NIMMessage *)firstMessage session:(NIMSession *)session handler:(HLIMKitDataProvideHandler)handler;

- (void)loadNew:(nullable NIMMessage *)endMessage session:(NIMSession *)session handler:(HLIMKitDataProvideHandler)handler;

@end

#endif /* HLIMKitSessionDataProvider_h */
